Real-time display adaptation

ABSTRACT

A method of providing Internet commercialization services to a content owner may include obtaining rights from an owner of Web page contents on a Web page to commercialize the Web page contents, obtaining an ad from an advertiser for placement on the Web page, the advertiser agreeing to pay for placement of the ad, paying for traffic to the Web page based on a bid to a traffic partner and sharing profits with the owner of the Web page contents, if any, from payments by the advertiser above payment to the traffic partner for the traffic. The content owner may be a publisher of content on the Internet. The traffic partner may be a search engine. The method may include automatically providing Internet commercialization services to an Internet publisher. Various aspects of the method may be modified in a closed loop fashion to optimize profits.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.15/376,566, filed Dec. 12, 2016, which is a continuation of U.S. patentapplication Ser. No. 12/41,814, filed Jun. 18, 2008, which claimspriority of U.S. provisional patent application 60/936,208, filed Jun.18, 2007, the contents of each of which are hereby incorporated in theirentireties by reference.

BACKGROUND OF THE INVENTION Field of the Invention

This invention is related to commercialization of content on theInternet and particularly to services provided to aid content owners,such as publishers, in commercialization of their content on theInternet.

Description of the Prior Art

Various conventional techniques are available for a content owner, orpublisher, to derive revenue or other benefits from their content by forexample placing their content on an Internet website together with oneor more advertisements from which they derive revenue. A person lookingfor information on the Internet may find the content owner's website andview the content as well as the advertisements, if any. The contentowner may require a fee for viewing the content or benefit from thereview of the advertisement, directly if the advertisement is related tothe content owner's products or services or indirectly if the contentowner receives a fee from a third party related to viewing and/or otheractions related to the advertisement.

Such conventional techniques have many limitations. For example, inpractice, many content owners have substantial content which is not allwell commercialized. Some of the owner's content may be viewed often,providing substantial benefit to the owner while other of the owner'scontent may not be viewed as often, providing much less benefit to theowner.

What are needed are improved services and techniques for aiding acontent owner in commercializing content on the Internet.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an overview of commercializationprocess 1.

FIG. 2 is a block diagram of commercialization process 200.

FIG. 3 is a block diagram of commercialization process 300.

FIG. 4 is a block diagram of commercialization process 400.

FIG. 5 is a block diagram of the flow of messaged between system controlsoftware 402, customer relations management system 412 and contentmanagement system 420.

FIG. 6 illustrates messages may be exchanged between system controlsoftware 402, auto campaign generation engine 426 and campaign manager436.

FIG. 7 illustrates messages that flow among system control software 402,bid editing service 444, test platform/learning engine 456, and campaignmanager 436.

FIG. 8 illustrates messages that data storage system 466 exchanges withauto campaign generation engine 426, campaign manager 436, systemcontrol software 402, and test platform/learning engine 456.

FIG. 9 shows messages which bid editing service 444 may exchange withsystem control software 402 and/or test platform/learning engine 456.

FIG. 10 illustrates exemplar messages which content serving system 448exchanges with content management system 420 and test platform/learningengine 456.

FIG. 11 illustrates messages which bid editing service 444 exchangeswith campaign manager 436, test platform/learning engine 456, and datastorage system 466.

FIG. 12 shows messages exchanged by auto campaign generation engine 426and content management system 420.

FIGS. 13-18 illustrate interactions between ICCS 400 and variousexternal entities.

FIG. 19 is a block diagram of search engine manager 1900.

FIGS. 20-28 illustrate the steps in the internet contentcommercialization process executed by search engine manager 1900.

SUMMARY OF THE INVENTION

In a first aspect, Internet content commercialization services may beprovided to a content owner by obtaining rights from an owner of Webpage contents on a Web page to commercialize the Web page contents,obtaining an ad from an advertiser for placement on the Web page, theadvertiser agreeing to pay for placement of the ad, paying for trafficto the Web page based on a bid to a traffic partner and sharing profitswith the owner of the Web page contents, if any, from payments by theadvertiser above payment to the traffic partner for the traffic. Thecontent owner may be a publisher of content on the Internet with asubstantial number of Web pages including one or more landing pages anda plurality of article level Web linked from the one or more landingpages. Obtaining rights to Web page content may include obtaining rightsto article level Web pages.

The method may include deriving data from traffic to the Web page andmodifying aspects of the Web page, excluding the Web page contents, tooptimize profits from commercializing the Web page. The Web page mayappear to be provided on the Internet by the content owner and modifyingthe Web page may include maintaining the appearance that the Web page isprovided by the content owner. The method may include hosting themodified Web page while maintaining the appearance that the Web page isprovided on the Internet by the content owner. The method may alsoinclude deriving data from traffic to the Web page for a plurality ofmodified versions of the Web page and selecting one of the modifiedversions of the Web page serve to traffic to the Web page based on thedata derived to optimize profits. Further, the method may includemodifying aspects of the web page on a server hosted by the contentowner.

In another aspect, a method of providing Internet commercializationservices to an Internet publisher may include obtaining rights from anInternet publisher to serve a Web page, the Web page including articlelevel Web page content owned by the Internet publisher and appearing tobe provided on the Internet by the Internet publisher, bidding fortraffic for the Web page to an Internet search engine for inclusion of afirst ad having text related to the Web page content, and a first linkto the Web page, with search engine results provided to someonesearching the Internet for information related to the Web page content,obtaining a second ad including a link to a Web page associated with anadvertiser agreeing to pay for traffic from the second ad to the Webpage associated with the advertiser, modifying the Web page includingthe article level content to include the second ad, serving the modifiedWeb page in response to selection of the first ad on the search enginesearch results and compensating the Internet publisher for traffic tothe Web page associated with the advertiser resulting from selection ofthe first ad.

This method may include monitoring data related to the modified Web pageand adjusting the bidding in accordance with the data. The method mayfurther include monitoring data related to traffic to the Web pageassociated with the advertiser from the modified Web page and adjustingthe bidding in accordance with the data. The method may also includemonitoring data related to traffic from versions of first ad to themodified Web page and selecting the version of the first ad optimizingprofits for inclusion in the search engine results. Still further, themethod may include monitoring data related to traffic from alternateversions of the modified Web page to the Web page associated with theadvertiser and selecting the version of the modified Web page optimizingprofits to be served in response to selection of the first ad on thesearch engine search results.

In another aspect, a method for automatically providing Internetcommercialization services to an Internet publisher may includeproviding access to an Internet publisher to submit a Web page includingarticle level Web page contents, automatically scraping information fromthe Web page including the article level contents, automaticallyextracting key words from the article level Web page contents,automatically bidding for traffic to the Web page from a traffic partnerbased on the key words, automatically submitting the article level Webpage contents to a source of ads from advertisers agreeing to pay fortraffic from the Web page to Web pages associated with the advertisers,automatically modifying the Web page to include an ad having a link to aWeb page associated with an advertiser, receiving compensation from theadvertiser for traffic from the modified Web page to the Web pageassociated with the advertiser and sharing any profits from thecompensation from the advertiser, above payments to the traffic partner,with the Internet publisher.

This method may also include monitoring results traffic from themodified Web page to the advertiser's Web page and automatically furthermodifying the Web page to optimize the profits based on the results. Themethod may also include monitoring results traffic from the modified Webpage to the advertiser's Web page and automatically adjusting thebidding to optimize the profits based on the results. The method mayalso include monitoring results traffic from the modified Web page tothe advertiser's Web page and stopping the bidding to optimize theprofits based on the results. Still further, the modified Web page mayappear to have been provided on the Internet by the Internet publisher.

The method may include hosting the modified Web page for traffic fromthe traffic partner, the traffic partner may provide traffic from searchengine results and/or the traffic partner may be the source of the adsfrom advertisers.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to FIG. 1 , Internet content commercialization process 1may be used to help publishers, or other content owners, derive revenueor other benefit from their content. A content owner may include anyentity that owns content that can be viewed and a publisher may includeany entity which provides a website which people can visit on theInternet, for example to view the content owner's content. The contentmay include to any information to which the content owner has rights,such as a copyright, including articles, essays, letters, etc. Thecontent owner and publisher could be the same entity, for example, thecontent owner and publisher could be a newspaper publisher, and thecontent could include historical articles from the newspaper which mayalso be available in the newspaper's online archives. For ease ofexplanation herein, the publisher will be assumed to also be the contentowner.

Publishers such as newspaper publishers typically own extensive archivesof articles and other content which could have value to interestedreaders. However, such publishers often have difficulty in fullycapitalizing on these assets. Some newspaper publishers have adopted asubscription model in which they charge web searchers, or other peopleviewing content on the Internet, a fee for viewing or downloadingarticles in the archives.

Publishers may generate revenue by placing advertisements on the webpages which display their content, such as archived articles.Advertisers are often required to pay the publisher a fee each time aweb searcher clicks on the advertisement and thereby causes his webbrowser software to display the advertiser's web page. However, thispay-per-click approach to advertising has limitations because thepublishers often have difficulty attracting web searchers to theirarchived articles. Internet search engines tend to assign low rankingsto archived articles for three reasons: they are old, they are static(i.e., the content doesn't change), and they have few inbound linksbecause they receive little traffic. As a result, search engines mightdisplay links to hundreds or thousands of web pages with higher rankingsbefore they display the links to the archived articles—if they displaythose links at all.

Some publishers have engaged in what has been called search engineoptimization in which the publisher attempts to induce search engines toassign a higher ranking (in order to receive more traffic) to thearchived articles by, for example, changing the content of the articlesperiodically, requesting inbound links from other publishers andwebsites, and increasing the density or frequency of search keywords onthe pages or other techniques for improving the ranking of theircontent. In general, search engine optimization techniques typicallydeliver the desired results for only a small fraction of the pages in apublisher's content archive. Publishers typically refer to their onlinearchives as “dark content” because web searchers rarely see the articlesstored in them.

I.A Commercialization Process

The Internet content commercialization process or system 1 (ICCS) may beused by a commercialization service provider (CSP) to help a publisherderive revenue from content, such as dark content. May content ownershave a substantial number of Web pages only some of which includecontent, described herein as article content. Other pages are typicallylanding pages, which may present a menu of options, selection of whichleads a visitor to linked article level content pages. In thiscommercialization process, the CSP displays content 18 (such as anarticle) on CSP's own web page 16 in the publisher's format or in amodified format, purchases traffic to web page 16, and generates revenueor other benefit by displaying contextually relevant ads, such as ad 20.These ads can be pay-per-click advertisements or other forms of InternetCommerce such as pay-per-impression or pay-per-action ads.

FIG. 1 provides a brief overview of this commercialization process 1with reference to three web pages: search engine web page 2, CSP's webpage 16, and third-party advertiser's web page 24.

The CSP may purchase traffic to his web page 16 by cooperating with atraffic partner, most commonly a search engine company such as Google,Yahoo, or Microsoft. The CSP may purchase traffic from a contentnetwork, such as Google's AdSense which can drive traffic from anotherpublisher's web site rather than only from a search engine results page.A traffic partner or the entities search engine results page 2 typicallydisplays these elements:

-   -   search criteria box 4 in which a web searcher has entered key        words,    -   panel 6 displaying search engine search results with links 14 to        relevant web pages, and    -   panel 8 displaying one or more paid search results, each of        which typically includes a brief ad 10 containing a link 12 to        CSP's web page 16.

In some cases, ad 10 and link 12 may be incorporated within or otherwiseassociated with search results 6.

The CSP typically submits to the traffic partner a bid which says, inessence, “If you, the traffic partner, will display on your searchengine web page 2 this ad 10 and a link 12 to my web page 16 each time aweb searcher enters these key words, then I am willing to pay you thisamount of money each time a web searcher clicks on the link 12.”

For each key word or combination of key words, the traffic partnertypically ranks the various bidders' ads according to at least twocriteria: a) the amount of money the bidder has offered to pay for eachclick or other viewer's action, and b) the historical performance of thead 10; e.g., the frequency with which web searchers click on bidder'slink 12, and thereby generate revenue for the traffic partner or othersearch engine company. Ads 10 for bidders with the highest rankings aremore likely to appear on the first page of the search engine resultspage 2.

When a web searcher, that is, the person using search engine web page 2,clicks on link 12, the software used by the web searcher (typically aweb browser) displays CSP's web page 16, which may include content fromthe publisher's article 18 and also one or more advertisements 20, eachwith a link 22 to web page 24 of a third-party advertiser. The CSPtypically has an agreement to display advertisements 20 with a revenuepartner or other source of ad 20 who may be either the third-partyadvertiser or an advertising network representing the third-partyadvertiser. The same entity, such Google, Yahoo, and Microsoft, may bethe traffic partner and also operate the Internet advertising networks.In either case, the revenue partner may pay the CSP each time a websearcher clicks on link 16 to advertiser's web page 24. The CSP mayshare the profits with the publisher or otherwise compensate thepublisher.

The CSP may have to pay for all the traffic; i.e., compensate thetraffic partner for the visits from all web searchers who visit web page16 by clicking on link 12 in paid search results panel 8 on searchengine results page 2. However, the CSP may only receive revenue fromthe revenue partner for a subset of those visits, for example, thosewhich result in one or more clicks on link 22 to third-partyadvertiser's web page 24. As described so far, the CSP makes a profit ifhe receives more money from the revenue partner for each click on link22 to third-party advertiser's web page 24 than he has to pay to thetraffic partner for each click on link 12 to his own web page 16.

Referring now to FIG. 2 , detailed commercialization process 200 is amore detailed view of the process illustrated in FIG. 1 including thefollowing entities: publisher 202, web searcher 206, commercializationservice provider or CSP 208, traffic partner 210, and revenue partner212. FIG. 2 also shows publisher's web page 204. Commercializationprocess 200 includes the following steps:

Step 214: Publisher 202 creates or obtains content. For example,publisher 202 might write or purchase article 18 and display it on webpage 204 under his logo or masthead 17.

Step 216: CSP 208 and publisher 202 reach an agreement which specifiestheir mutual obligations.

Step 218: CSP 208 acquires rights from publisher 202 to display andmonetize the content, such as article 18.

Step 220: CSP 208 creates web page 16 which may display publisher'scontent 18 and publisher's logo/masthead 17 along with other pageelements at the discretion of the CSP.

Step 222: Revenue partner 212 provides one or more advertisements 20which each contain a link 22 to an advertiser's web page 24.

Step 224: CSP 208 sends ad campaign to traffic partner 210 whichtypically includes a set of key words and one or more text ads, such asad 10 which may be contextually related to article 18, along with a bidoffering to pay traffic partner 210 a specified amount for traffic toweb page 16 provided by traffic partner 210.

Step 226: Web searcher 206 searches for information at search engine webpage 2 maintained by traffic partner 210. In doing so, web searcher 206enters key words related to desired information and traffic partnerreturns search results, such as free search results 6 and/or paid searchresults 8 shown on traffic partner's search engine web page 2 in FIG. 1, at least one of which includes ad 10 which may be a simple text addincluding link 12.

Step 228: Web searcher 206 reviews the search results on trafficpartner's search engine web page 2, selects ad 10 and clicks on link 12which leads to CSP's web page 16.

Step 230: Web searcher 206 may read content 18 on CSP web page 16 forinformation related to the key words and may also read ad 20 and clickon link 22 to advertiser's web page 24 in pursuit of further informationabout the keywords or for other reasons.

Step 232: CSP 208 pays traffic partner 210 for traffic to CSP's web page16.

Step 234: Revenue partner 212 may pay CSP 208 for traffic toadvertiser's web page 24, typically as part of a later accounting.

Step 236: CSP 208 compensates publisher 202 by, for example, sharingprofits with publisher 202.

It is important to note that CSP 208 purchases traffic for publisher'sarticle 18 on CSP's web page 16. The purchased traffic, in the form ofweb searcher 206, may also read ad 10 and click on link 12 and is thendirected to web page 16 containing article level content 18. It isimportant to note that web searcher 206 is linked directly to a web page(CSP's web page 16) including article level content 18 rather than tosome other web page at a higher level, such as a landing page withoutsuch content, in the hierarchy of pages on a web site.

Web searcher is directed to a web site which may be controlled by CSP208 or in some situations by publisher 202. That is, link 12 may lead toa subdomain of a website of CSP 208 or alternately of publisher 202. Ineither event, publisher 202 preferably maintains ownership and controlof the content of article 18, while CSP 208 preferably controls theformat and appearance of web page 16 on which article 18 is displayed.

Further, commercialization process 200 could operate on a self-servicebasis in which publisher 202 initiates commercialization process 200 by,for example, entering data on the commercialization service provider'sweb site such as a list of URL's or other indication of which contentCSP 208 should attempt to commercialize. The web pages with content arepreferably suitable to automatic scraping, that is, process 200 shouldpreferably be able to automatically obtain the content and otherinformation from the web pages in order to modify the web page and/orotherwise create CSP's web page 206 therefrom.

While the example shown in FIG. 2 discloses a technique based onpay-per-click advertising, pay-per-impression or pay-per-actionadvertising or similar compensation arrangements may also be used.

I.B Internal Flow Chart for Internet Content Commercialization System

Referring now to FIG. 3 , flow chart 300 illustrates a technique forimproving or optimizing the profits for CSP 208, and/or publisher 202,by improving revenue.

In step 301, CSP 208 acquires content from publisher 202. Althoughpublisher 202 can be any organization or person who owns content and/orprovides a website which people can visit, for ease of disclosure, flowchart 300 continues using the specific example in which publisher 202 isa newspaper publisher who wishes to derive revenue from articles such asarticle 18 in his archives.

In one technique, publisher 202 may provide CSP 208 with the universalresource locators (URLs, or web page addresses) of all the articles orother content publisher 202 wants CSP 208 to commercialize. CSP 208 canthen use the disclosed Internet commercialization process to “scrape”the URL targets for content such as article 18. In this process, thecontent available at the URLS is retrieved, processed and then copiedfrom the publisher's web pages and saved into a content databasecontrolled by CSP 208. Alternately, publisher 202 may prepare a filecontaining the article content and transmit the file to CSP 208, afterwhich CSP 208 can insert the articles from the file into a contentdatabase controlled by CSP 208.

In step 302, key words are extracted from the content, such as article18. When extracting the key word or key words, the following factors maybe considered:

-   -   a) the term frequency, which may be a measure of the frequency        with which various terms appear in the article.    -   b) the inverse document frequency, which may be a measure of how        unusual it is for the term to appear in other, often similar,        documents.    -   c) the search frequency, which may be a measure of how often web        searchers typically enter each candidate key word into the        search engine web pages. The major search engine companies have        access to this information and typically provide it to        commercial partners such as CSP 208. CSP may gather this        information from the major search engine companies        automatically.    -   d) the past experience of process 300. For example, in selecting        a key word for an article, process 300 could consider which key        words in its data base have successfully driven traffic to        articles and generated profits for publishers in the past.        Process 300 may also consider which key words have succeeded in        the past with the particular search engine company to which it        will offer a bid.

To identify the best key word or key words for each article on the basisof all the selected factors, process 300 may employ an algorithm and/ora neural network.

In step 302, process 300 may also index the articles or other content.Indexing is a process of structuring data to make retrievalcomputationally efficient. For this task, process 300 may employ Lucene(an open-source software tool) and/or SoLR, another body of open-sourceindexing code which simplifies the process of using Lucene. Lucene mayfacilitate retrieval of term frequency and inverse document frequency bystoring phrases in an “inverted index” designed for storing this type ofdata.

In step 304, process 300 may analyze whether or not the content has thepotential to generate a profit. Some articles in the archive will beunlikely to attract many web searchers. It may not be wise to investresources in trying to commercialize such articles. Based on criteriasimilar to those by which it selects key words, process 300 may assign anumerical score to each key word, or to each article, or both. Thenumerical score, or ranking, indicates the likelihood that the contentcan generate a profit. If the score is below a certain threshold,process 300 may choose to not make efforts to commercialize this contentin step 306 and/to stop attempting to commercialize the content if ithas already started to do so. If the score matches or exceeds thethreshold value, the system may continue to step Q 308.

Step 308 creates an ad campaign for the content. An ad campaign mayinclude a set of key words and one or more text ads 10 for a givenarticle, expressed in a format which is acceptable to traffic partner210, usually a search engine company. Process 300 may generate such anad campaign automatically.

In step 310, CSP 308 arranges for a contract for one or more ads 20 fromrevenue partner 212. Process 300 could automatically contract for suchads 20 from an advertising network such as Google, Yahoo, Microsoft orMiva. The advertising network could then evaluate the content, such asarticle 18, and identify ads which are relevant to the article's subjectmatter. Alternatively, publisher 202 or CSP 208 could sell the ad spacedirectly to a third-party advertiser using a cost per click, cost perimpression, cost per action or other protocol.

In step 312, a bid is submitted to traffic partner 210, typically asearch engine company. Process 300 can automatically communicate with acomputer system associated with traffic partner 210 to submit a bid,which says, in essence, “If you will agree to publish text ad 10 andlink 12 to this page 16 whenever a web searcher 206 enters this key word(or any of these key words), then we will agree to pay you $0.XX eachtime a web searcher 206 clicks on link 12 and thereby visits web page16” where $0.XX represents the bid price. Process 300 may calculate theamount of money to bid for each click on the basis of the same factorsit considers to calculate a numerical score for article 18 in step 304.If the bid exceeds the minimum bid threshold value which the trafficpartner 201 has assigned for that key word, traffic partner 210 maybegin to display text ad 10 and link 12 to article 18 when a websearcher 206 enters the appropriate key word. Although step 312 isdescribed in terms of pay-per-click advertising for convenience, othertypes of lead generation or compensation may be used.

In step 308 the content—in other words, article 18—is posted with one ormore ads 20 from revenue partner 212 on the CSP's web page 16. Trafficmay begin flowing to CSP's web page 16 as soon as any web searcher 206enters the appropriate key words on traffic partner's search engine webpage 2 or through any other process by which traffic is provided.Process 300 may make all, or at least most, of the decisions whichnormally lie within the purview of a graphic designer, i.e., process 300may select the typefaces and type sizes for the body text and theheadings, the number of columns of text, the images, the size andplacement of the images, the color of the background and other designelements, the position of advertisement 20, etc. It is preferable topublish article 18 on web page 16 stored on a server maintained by CSP208. This approach makes it easier for CSP 208 to experiment withvarious designs of web page 16 in an effort to maximize the percentageof web searchers 206 who click on link 22 to third-party advertiser'sweb page 24. However, in some cases, the page may be served from acomputer controlled by the publisher, as long as CSP is given controlover the layout and format of the page, for example, by inclusion ofsoftware on the page that directs control to the CSP, by obtainingrights to log onto an appropriate computer system

In step 316 the results are monitored. Software programs in process 300may record the number of visitors (such as web searcher 206) to web page16, the number of times web searchers 206 click on link 22 tothird-party advertiser's web page 24, and other events. On the basis ofthese data, software tools in process 300 may calculate theprofitability of article 18.

In step 318, various decisions may be made. For example, process 300 maydecide whether to a) continue the commercialization process 200 withoutchanges, b) optimize the design of CSP's web page 16, c) optimize thebid to traffic partner 210, d) optimize the campaign, or e) discontinueeffort to commercialize article 18. The decision depends on the datamonitored in step 316. The following steps describe these alternatives.

Step 320 determines if commercialization process 200 should be continuedwithout changes; i.e., without further optimizing the design of web page16, the bid, or the campaign. Process 300 may select step 320 if, forexample, article 18 is generating profit meeting a predeterminedthreshold.

Step 322 may be used to optimize the design of CSP's web page 16. Thepurpose of optimizing the design is to increase the probability that websearcher 206 will click on link 22 to third party advertiser's web page24. In step 322, process 300 may change one or more of several designfactors such as the type face, the type size, the background color, andthe placement of various elements on web page 16 including article 18,publisher's logo/masthead 17, and/or advertisement 20. Step 322 may beused in order to increase the profitability of web page 16 if it is notmeeting expectations or merely to conduct an experiment to determinewhether a different design can increase its profitability. As FIG. 3indicates, step 322 may be part of a feedback loop which returns to step314.

Step 324 may be used to optimize the bid to traffic partner 210; e.g.,to increase or decrease the amount of money which CSP 208 promises topay traffic partner 210 each time web searcher 206 clicks on link 22.For example, if a high percentage of web searchers 206 who visit webpage 16 click on link 22 and thereby generate revenue for CSP 208 andpublisher 202, process 300 might raise the bid and thereby inducetraffic partner 210 to display text ad 10 and link 12 more frequentlyand/or at a higher position. Conversely, if a low percentage of websearchers 206 who visit web page 16 click on link 22, process 300 mightlower the bid. Step 324 is part of a feedback loop which reverts to step312. The optimal bid may depend on the value of the click out; e.g., theamount of money which revenue partner 212 pays CSP 208 each time websearcher 206 clicks on link 22 to advertiser's web page 24.

Step 326 may be used to optimize the ad campaign by techniques such asadding new key words, deleting key words, adding new text ads, deletingtext ads, or modifying the instructions stating which key words may bepaired with which text ads. Step 326 is part of a feedback loop whichreverts to step 312.

During Step 318, process 300 may decide to discontinue efforts tocommercialize this content, in which case the process advances to step306.

I.C The Internet Content Commercialization Process

Referring now to FIG. 4 , the key systems and components of Internetcontent commercialization system (ICCS) 400 are shown.

System control software 402 controls and directs the other systems andcomponents of ICCS 400. A graphic user interface or GUI 406 enables asystem administrator to control the system directly. A database ofbusiness processes 404 stores instructions for carrying out the variousprocesses which the system can execute, such as those shown in FIG. 3 .Database of business processes 404 also contains rules which govern howthe system will respond to normal or exceptional situations. A statedatabase 408 keeps track of how far ICCS 400 has advanced throughcertain business processes. For example, state database 408 might keeptrack of the progress toward commercializing article 18, for which keywords have been extracted but not yet published to traffic partner 210.

Customer relations management system 412 enables commercializationservice provider 208 to enter information regarding its customers andpotential customers and to keep track of that information. Graphic userinterface or GUI 414 software system may incorporate various portalswhich could a) allow a sales person to enter information about customersor potential customers, b) allow a customer to initiate the Internetcontent commercialization service independently, or c) allow publisher202 to query ICCS 400 to find out how much revenue his content isgenerating. Lead tracking system 416 may enable a sales person to recordhis contacts with potential customers and the phases of the sales cycle.Customer database 418 stores the information about customers andpotential customers.

Content management system 414 brings content from publisher 202 intoICCS 400.

Publisher 202 might send CSP 208 the universal resource locators (URLs,or web page addresses) for all the articles he wishes to commercialize.Content acquisition system 422 would then “scrape” the content from theweb pages; e.g., it would copy the content from those web pages, parseit, and load it into content database 424.

Alternately, publisher 202 might send the content to CSP 208 in the formof an XML file or some other agreed-upon format, and/or provide additionrelated to file, such as XML tags or the like. In an automatic or selfservice arrangement, such files would preferably be in a form suitablefor automatic scraping, that is, in a form that CSP 208 could easily useto form CSP's web page 16.

The content may be in a proprietary format used only by publisher 202.If so, content acquisition system 422 would also translate the contentinto a format which ICCS 400 can read and implement.

Content database 424 stores not only the publisher's content but alsometadata regarding the content. The term “metadata” refers to variousattributes of the content, such as the topic, the author, and thepublication date.

Auto campaign generation engine 426 automatically generates an adcampaign for each article or other unit of content in content database424. The ad campaign consists of one or more key words, one or more textads, and a bid for each key word or for the campaign as a whole.

The specific system responsible for creating the key words and the textad is key word extraction/text ad generation system 428. Key wordextraction/text ad generation system 428 might take into considerationsome combination of the following features or other features as itautomatically determines the best key word or key words:

-   -   a) the term frequency, which may be a measure of the frequency        with which various terms appear in the article.    -   b) the inverse document frequency, which may be a measure of how        unusual it is for the term to appear in other documents.    -   c) the search frequency, which may be a measure of how often web        searchers enter each candidate key word into the search engine        web pages.    -   d) the past experience of ICCS 400. In selecting a key word for        an article, key word abstraction/text ad generation system 428        could consider which key words have successfully driven traffic        to articles and generated profits for publishers in the past.        ICCS 400 may also consider which key words have succeeded in the        past with the particular traffic partner 210 to which it will        offer a bid.

To identify the best key word or key words for each article on the basisof all these issues, key word extraction/text ad generation system 428could employ an algorithm and/or a neural network. An algorithm withinkey word extraction/text ad generation system 428 generates ad 10preferably in the form of text ads. Key word extraction/text adgeneration system 428 may also query traffic partner 210 to learn howoften web searchers 206 search on a given key word and how many otherentities bid on that key word or other relevant available information.

Keyword database 430 stores information about the key word or key wordsassigned to each article.

Indexing service 432 indexes the content in content database 424.Indexing is a process of structuring data to make retrievalcomputationally efficient. Indexing service 432 might rely on Luceneand/or SoLR, two open-source tools that build a reverse index. A reverseindex enables keyword database 430 to identify quickly all the articlesthat contain a given key word.

Search relevance index 434 provides information on the term frequencyand inverse document frequency needed to calculate the appropriatenessof the key word for a given content.

Campaign manager 436 stores, manages, and publishes the ad campaignswhich may include one or more text ads, one or more key words, and a bidfor each keyword or the entire campaign created by auto campaigngeneration engine 426.

Campaign database 440 stores the ad campaigns. Campaign manager 436 mayalso contain an interface which synchronizes campaign database 440 witha database maintained by traffic partner 210.

Campaign management service 438 enables ICCS 400 or a systemadministrator to create, read, update, or delete records in campaigndatabase 440.

Traffic network interface 442 publishes ad campaigns to traffic partner210.

Bid editing service 444 determines whether and how to revise the bid totraffic partner 210 in order to maximize the profitability of eacharticle. Bid edit algorithm 446 calculates the optimal bid on the basisof several factors, such as the revenue per visit to web page 16, thetraffic partner 210, the revenue associated with each key word, and therevenue associated with each text ad. Different key words and differenttext ads will generate different amounts of revenue, and the revenue mayalso depend on the traffic partner 210. Bid edit algorithm 446 may takeall these and similar factors into consideration.

Revenue prediction system 447 calculates a numerical score for each keyword, or for each article, or both. The numerical score indicates thelikelihood that the content can generate a profit. If the score is belowa certain threshold, ICCS 400 may not make or discontinue making effortsto commercialize the content. If the score matches or exceeds thethreshold value, ICCS 400 may attempt to commercialize the content. Tocalculate the numerical score, revenue prediction system 447 may rely oncriteria such as term frequency, inverse document frequency, and searchfrequency, as well as other information from search relevance index 434.System 447 may also take into consideration the previous profit or lossof similar contents or key words.

Content serving system 448 may determine which template, which content,how many advertisements, and which advertisements to serve on web page16, then serves web page 16 to web searcher 206. The selected templatemay include a combination of design features such as type face, typesize, background color, number of advertisements, etc.

Ad serving system 450 may determine which advertisement 20 oradvertisements to place on web page 16. For example, ad serving system450 may provide code from a revenue partner 212 which instructs the webbrowser software of web searcher 206 to draw advertisement 20 from aserver maintained by revenue partner 212, which may be an advertisingnetwork or a third-party advertiser.

Content serving system 452 may read the appropriate content from contentdatabase 420. Content serving system 452 may contain content renderingcode which translates the content into hypertext markup language (HTML),which may be used to tell the web browser software of web searcher 206how the page should look when displayed.

Template rotation code 454 may display the template selected by testplatform/learning engine 456, which selects a template from two or morechoices as part of an experiment to determine which template generatesthe most revenue for a given key word or a given article 18.

Test platform/learning engine 456 may help ICCS 440 to maximize profitsfor CSP 208 and publisher 202 by optimizing the design, the bid, or thead campaign for a given article. Test platform/learning engine 456 mayalso help in the selection of template parameters, advertisements, etc.by determining 1) whether additional data needs to be collected for oneor more attributes of a current visit or 2) whether a particulartemplate, ad network, advertisement, etc. can maximize the revenuepotential of a visitor to the CSP web page 16.

Real-time data service 462 may capture information regarding many or allthe events which occur on CSP web page 16, such as the number of times aweb searcher 206 comes to CSP web page 16 from a particular searchengine web page 2, the number of times a particular web searcher 206clicks on link 22 to third-party advertiser's web page 24, etc.Real-time data service 462 may store all this information in datawarehouse 466.

Data analytics system 458 may correlate real-time data with informationfrom traffic partner 210 regarding which key word and which text ad 10web searcher 206 clicked on in order to move from search engine web page2 to CSP web page 16. Multiple text ads 10 may include link 12 in orderto determine the effectiveness of each of the text ads 10. Dataanalytics system 458 sorts all this information in ways that enableother systems within ICCS 400 to act on it. Data analytics system 458also looks for exceptional events, such as problems or opportunitieswhich might require ICCS 400 to adjust automatically (for example, byamending or withdrawing a bid) or might require the invention of a humanoperator.

Learning system 460 may analyze historical data to determine whichtactics optimize the profitability of article 18. Learning system 460may consider parameters such as the key words, text ad 10, trafficpartner 210, the template, the number of advertisements 20 on CSP webpage 16, etc., in order to identify a combination of factors whichoptimize the probability that web searcher 206 will click on link 22 tothird-party advertiser's web page 24. Learning system 460 may alsoidentify data it needs in order to specify such a combination of factorsand instruct content serving system 448 to gather those data. Forexample, learning system 460 might instruct template rotation code 454to experiment with a given template or instruct ad serving system 450 todisplay more or fewer advertisements.

Messaging system 464 sends messages from various systems, such as thelearning system 460 to other systems throughout ICCS 400.

Data storage system 466 acquires, stores, and reports data regardingICCS 400 system performance.

Data warehouse 470 may be a specialized form of database optimized foranalysis. Data warehouse 470 stores information from real-time dataservice 462, data analytics system 458, and learning system 460. Datawarehouse 470 may also store historical information about costs andrevenue. Data warehouse 470 may provide key information for bid editingservice 444 and learning system 460.

Extract, transform and load system 468 may collect data from real-timedata service 462, data analytics system 458, and learning system 460,transforms those data to match the data structure of data warehouse 460and loads those data into data warehouse 460.

Reporting system 472 may compile “canned” reports with pre-designedformats and contents. These reports might indicate how much money ICCS400 is making for each web page. Canned reports might also help bidediting service 444 and system administrators to understand the costsand revenues associated with specific key words.

Reporting system 472 may also compile “ad hoc” reports to answer aspecific question submitted by a system administrator. For example, asystem administrator might want to know whether web searchers from onetraffic partner were more likely to click on link 22 than web searchersfrom another traffic partner.

I.D Internal System Messages

Referring now generally to FIGS. 5-12 , the primary messages passedinternally within an exemplar of ICCS 400 are illustrated.

Referring now to FIG. 5 , the following messages may be exchangedbetween system control software 402, customer relations managementsystem 412 and content management system 420.

-   -   Ready to acquire content 502. Customer relations management        system 412 may notify system control software 402 that system        412 is ready to acquire content from a publisher, e.g., that        publisher 202 has concluded an agreement with commercialization        service provider 208.    -   Acquire content 504. System control software 402 may also send        content management system 420 a command to acquire content from        a given publisher 202.    -   Content acquired 506. Content management system 420 confirms to        system control software 402 that it has acquired content from        publisher 202.

Referring now to FIG. 6 illustrates messages may be exchanged betweensystem control software 402, auto campaign generation engine 426 andcampaign manager 436:

-   -   Create campaign 602. System control software 402 may command        auto campaign generation engine 426 to create a campaign for a        given body of content.    -   Campaign completed and attached to this message 604. Auto        campaign generation engine 426 confirms to system control        software 402 that engine 426 has created the campaign and is        sending the campaign to system control software 402.    -   Store attached campaign and publish it with bid 606. System        control software 402 may command campaign manager 436 to store        the campaign in campaign database 440 and to publish the        campaign to traffic partner 210 via traffic network interface        442.    -   Campaign stored; campaign and bid published 608. Campaign        manager 436 confirms to system control software 402 that it has        stored the campaign in campaign database 440 and published the        campaign with the bid to traffic partner 210 via traffic network        interface 442.

Referring now to FIG. 7 , messages that flow among system controlsoftware 402, bid editing service 444, test platform/learning engine456, and campaign manager 436 are illustrated.

-   -   Alert human operator to anomalous metrics 702. Test        platform/learning engine 456 may command system control software        402 to issue a warning that exceptional circumstances may        require the attention of a human operator.    -   Calculate new bid price in response to anomalous metrics 704.        Test platform/learning engine 456 may command bid editing        service 444 to recalculate a bid.    -   Publish new bid price to traffic partner 706. Bid editing        service 444 may command campaign manager 436 to publish a new        bid price to traffic partner 210.    -   Instruct traffic partner to discontinue campaign 708. Test        platform/learning engine 456 may command campaign manager 436 to        instruct traffic partner 210 to stop directing traffic to CSP's        page 16. The most common reason for issuing this command would        be that data analytics system 458 discovered that a given        article 18 is losing money.

Referring now to FIG. 8 , messages that data storage system 466exchanges with auto campaign generation engine 426, campaign manager436, system control software 402, and test platform/learning engine 456are shown.

-   -   Request report 802. System control software 402 may request that        data storage system 466 provide a report. The report could be        either a canned report or an ad hoc report. System control        software 402 could request a canned report either automatically        or in response to a specific request issued by a system operator        at GUI 406.    -   Report attached 804. Data storage system 466 may confirm to        system control software 402 that it has compiled the requested        report and attached it to this message.    -   Request description of campaign structure 806. Data storage        system 466 may command campaign manager 436 to send a        description of the campaign structure to system 466. The        campaign structure may consist of a hierarchical description of        the articles, key words, and text ads relevant to a specific        publisher. This information may enable the reporting system 472        to create reports on the activities and financial data relevant        to that publisher.    -   Campaign structure attached 808. Campaign manager 436 confirms        to data storage system 466 that the requested campaign structure        is attached to this message.    -   Metadata regarding key words attached 810. Auto campaign        generation engine 426 may send metadata to data storage system        466 regarding the key words stored in the key word database 430.        The metadata might include the number of words which constitute        the key word, the number of advertisers bidding on the key word,        and/or the frequency with which web searchers 206 use a        particular key word in a search query. Extract, transform and        load system 468 may load the metadata into data warehouse 466.        The metadata may contribute to the numerical score which ICCS        400 assigns to each key word.    -   Event (e.g. page view or click-out) has occurred 812. Test        platform/learning engine 456 may notify data storage system 466        that an event has occurred. For example, web searcher 206 might        have viewed web page 16 or clicked on link 22. Extract,        transform, and load system 468 will insert that information into        data warehouse 470. Reporting system 472 will require this        information to prepare reports which specify, for example, how        much money a given article 18 is earning.    -   Provide data 814. Test platform/learning engine 456 may request        data from data storage system 466. For example, learning system        460 may require data from data warehouse 470 to inform a        decision learning system 460 makes about what additional data        may be needed or which ad 20 or template may be used to display        content 18 to a web searcher 260.    -   Data attached 816. Data storage system 466 may announce to test        platform/learning engine 456 that engine 456 is providing the        requested data.    -   Identification of editor who made changes during rework 818.        When a human editor is employed by CSP 208 to make changes to        text ad 10, or a key word, through GUI 406, system control        software 402 notifies data storage system 466 about which editor        made which changes to enable reporting system 472 to report for        example on the effectiveness or other characteristic of each        editor.

Referring now to FIG. 9 , messages are shown which bid editing service444 may exchange with system control software 402 and/or testplatform/learning engine 456.

-   -   Predict the commercialization value of content 902. System        control software 402 commands bid editing service 444 to predict        the commercialization value of an article or other content 18.    -   Provide data regarding the commercialization value of similar        pages 904. Before responding to message 902, bid editing service        444 may command test platform/learning engine 456 to provide        data regarding the commercialization value of pages similar to        the page referenced in message 902.    -   Data attached regarding the commercialization value of similar        pages 906. Test platform/learning engine may send to bid editing        service 444 the requested data regarding the commercialization        value of content similar to the content referenced in message        902.    -   Prediction attached regarding the commercialization value of        said page 908. Bid editing service 444 may respond to message        902 by sending to system control software 402 the predicted        value of the content referenced in message 902.

Referring now to FIG. 10 , exemplar messages which content servingsystem 448 exchanges with content management system 420 and testplatform/learning engine 456 are shown.

-   -   Which ad to show a web searcher 1002? Content serving system 448        may ask test platform/learning engine 456 which ad 10 to display        along with a given article for a web searcher 206 from a given        search engine web page 2.    -   Show the web searcher this ad 1004. Test platform/learning        engine 456 may respond to message 1002 by telling content        serving system 448 which ad 10 to display. Learning system 460        may select the ad 10 which web searchers who arrived at web page        16 from a given search engine web page 2 are most likely to        click on, based on historical data.    -   Which template to show a web searcher 1006? Content serving        system 448 may ask test platform/learning engine 456 which        template to select while displaying a given article to a web        searcher 206 from a given search engine web page 2.    -   Show the web searcher this template 1008. Test platform/learning        engine 456 may respond to message 1008 by telling content        serving system 448 which template to display. Learning system        460 may select the template which apparently induced the highest        percentage of web searchers 206 who arrived at web page 16 from        a given search engine web page 2 to click on link 22 to        third-party advertiser's web page 24, based on historical data.        Learning system 460 can also select the template on the basis of        other factors such as the key word, the time of day, the day of        the week, the traffic net work, and/or the text ad 10. Learning        system 460 may also select the template on the basis of what        data it needs to acquire; in this case, it may sacrifice        potential short-term profit in order to make better decisions in        the future or make a temporary decision which can be optimized        later.    -   Provide content 1010. Content serving system 448 commands        content management system 420 to provide the appropriate content        from content database 420 so that content serving system 448 can        provide that content, e.g. CSP web page 16, to a web searcher        206 who visited search engine web page 2 and clicked on link 12.    -   Content attached 1012. Content management system 420 responds to        content serving system 448 by saying that system 420 is        providing the content requested by message 1010.    -   Web searcher viewed this content, this template, and these ads,        then clicked on this ad 1014. Content serving system 448        automatically sends notification of events to test        platform/learning engine 456 for use by real-time data service        462.

Referring now to FIG. 11 , messages are shown which bid editing service444 exchanges with campaign manager 436, test platform/learning engine456, and data storage system 466.

-   -   Provide historical data regarding key word cost and revenue        1102. Bid editing service 444 commands data storage system 466        to send historical data regarding the costs and revenue        associated with a given key word. This information can help        revenue prediction system 447 to predict the revenue for a key        word or help bid edit algorithm 446 to calculate a bid which        maximizes profits.    -   Historical data regarding key word cost and revenue attached        1104. Data storage system 466 responds to message 1102 by        sending the requested historical key word cost and revenue from        data warehouse 470.    -   Provide real-time data regarding key word cost and revenue 1106.        Bid editing service 444 commands test platform/learning engine        456 to send real-time data regarding the costs and revenue        associated with a given key word.    -   Real-time data regarding key word cost and revenue attached        1104. Test platform/learning engine 456 responds to message 1106        by sending the requested real-time key word cost and revenue        information from real-time data service 462.    -   Publish this bid to the traffic network 1110. Bid editing        service 444 commands campaign manager 436 to publish a bid        calculated by bid edit algorithm 446 to one or more traffic        partners 210 through traffic network interface 442.

Referring now to FIG. 12 , messages exchanged by auto campaigngeneration engine 426 and content management system 420 are shown.

-   -   Provide content for indexing 1202. Auto campaign generation        engine 426 commands content management system 420 to provide        content for key word extraction and indexing.    -   Content attached 1204. Content management system 420 responds to        message 1202 by sending the requested content to auto campaign        generation engine 426.        I.E System Interactions with External Entities

Referring now generally to FIGS. 13-18 , some of the more importantinteractions between ICCS 400 and various external entities areillustrated.

-   -   Content acquisition component acquires content from publisher's        web page 1302. FIG. 13 illustrates that content management        system 420 acquires content from publisher's web page 204.    -   Traffic network interface publishes ad campaign to traffic        partner 1402. FIG. 14 illustrates that campaign manager 436        publishes an ad campaign to a traffic partner 210 through the        traffic network interface 442.    -   Key word extraction; text ad generation queries traffic partner        or another entity to learn how often web searchers search on a        given key word and how many entities bid on that key word 1502.        FIG. 15 illustrates that auto campaign generation engine 426        asks traffic partner 210 or another entity how often web        searchers 206 search on a given key word and how many entities        are bidding on that key word.    -   Content serving system serves template, content, and ad to web        searcher 1602. FIG. 16 illustrates how content serving system        448 serves template, content, and ad to web searcher 206.    -   Publisher queries GUI of customer relations management system to        gather relevant financial data 1702. FIG. 17 shows that        publisher 202 can query GUI 414 of customer relations management        system 412 to gather relevant financial data, such as the amount        of revenue his content is generating.    -   System operator operates Internet Content Commercialization        System through GUI of system control software 1804. FIG. 18        shows that a system operator 1802 can operate ICCS 400 through        GUI 406 of system control software 402.        I.F Automated Search Engine Marketing Services

Referring now to FIG. 19 , in an alternate embodiment, search enginemanager 1900 provides automated search engine marketing services. Theseservices allow publishers to make incremental revenues from theircontent by purchasing traffic from search engines and other trafficpartners, directing the traffic to pages containing the publisher'scontent and optimizing the performance of those pages to maximizerevenue from each visitor. Search engine manager 1900 automaticallymaximizes the cash flow and/or gross margin produced by the publishers'pages by adjusting the amount spent with each traffic partner inaccordance with calculated algorithms using a closed loop feedbacksystem.

The major three groups of subsystems are traffic engine 1936, pageengine 1910, and revenue engine 1940. Traffic engine 1936 drivesInternet traffic to publisher partner's pages 1912. Traffic engine 1936includes the following entities:

-   -   traffic partner 210.    -   traffic acquisition partner data exchange 1904, the software        interface between search engine manager 1900 and the computer        system operated by traffic partner 210.    -   bid optimizer 1934, a bid editing algorithm that sets        appropriate bids for ad campaigns.    -   campaign creation and management 1932, which performs the        functions of auto campaign generation engine 426 as shown in        FIG. 4 .

Page engine 1910 displays publisher partner's pages 1912. Page engine1910 includes the following entities:

-   -   landing page optimizer 1908, which performs the functions of        test platform/learning engine 456 in FIG. 4 .    -   page logging/data exchange 1914, which records events such as a        web searcher 206 arriving at publisher partner pages 1912 or        clicking on an advertisement on those pages.    -   ad optimizer 1916, which selects the advertisements to place in        the appropriate position on publisher partner pages 1912.

Revenue engine 1940 implements interaction of search engine manager 1900with revenue partner 212 and includes:

-   -   eCommerce conversion data exchange 1922, a software interface to        shopping cart 1918 of traffic partner 210 when traffic partner        210 is an eCommerce company. eCommerce conversion data exchange        1922 allows search engine manager 1900 to track purchases made        by web searchers.    -   revenue partner data exchange 1924, a software interface which        enables search engine manager 1900 to exchange financial        information with revenue partner 212.    -   channel optimizer 1928, which assigns publisher partner pages        1912 to a given reporting channel. Certain revenue partners 212,        such as Google, don't necessarily report on the performance (for        example, number of click-ins, click-outs, etc.) for each page.        Such revenue partners report aggregate data for as many as 200        reporting channels, or groups of pages. If publisher partner        pages 1912 number more than the number of available channels,        e.g. 200, revenue partner 212 may report aggregate data        describing the performance of multiple publisher partner pages        1912 in at least one reporting channel. Channel optimizer 1928        enables search engine manager 1900 to determine the performance        of a given page by isolating that page as the only entity within        a particular reporting channel.

Referring now to FIGS. 20 through 28 , the steps in the internet contentcommercialization process executed by search engine manager 1900 aredescribed.

Step 1: Customer Sign-Up and Campaign Creation

Referring now to FIG. 20 , the first step of the search engine managerprocess begins when the customer signs up for service as illustrated bystep 1978 in which campaign creation and management 1932 is connected todata warehouse 470. Once the customer has signed up for service, webpages that contain the customer's content are created based ontemplates, publisher partner pages 1912 and marketing campaigns arecreated by campaign creation & management 1932 module of traffic engine1936 at each partner site that will be used to drive traffic to thepages. Each campaign includes specific keywords that are relevant topublisher partner pages 1912, as well as text and/or graphical ads thatwill be displayed when Web searchers enter those search phrases or keywords at the traffic partner sites. (Alternatively, in the case of acontextual ad network such as Google's AdSense™ product, the text orgraphical ads may show up on pages in the traffic partner's contentdistribution network that the traffic partner deems as relevant to thosekeywords.) Once these campaigns are created, initial bids are determinedbased on business rules established by search engine manager 1900.

Search engine manager 1900 may allow the sign-up process to occur in anautomated fashion. The customer comes to the CSP website, signs up forservice and a code block is automatically generated. By inserting thiscode block onto the web pages to which they want to have search enginemanager 1900 drive traffic, the service is automatically activated.Search engine manager 1900 automatically reads the page, extracts therelevant content and other branding elements, places the content andbranding elements on a template selected based on anticipatedperformance and begins driving traffic to this derivative pageautomatically. In addition, search engine manager 1900 may intelligentlyand automatically discern the meaning of the content on the page, selectkeywords relevant to that content and write relevant and compelling ads.

Step 2: Campaign Upload

Referring now to FIG. 21 , once publisher partner pages 1912 and theelements of the campaign (keywords, text ads and initial bids) have beencreated by search engine manager 1900, this information is transferredto the traffic partners via an application programmer's interface (API).Search engine manager 1900 has an automated interface with major trafficpartners, thereby maximizing revenue generating opportunities. When allof the information has been transferred to the appropriate trafficpartners, search engine manager 1900 turns the campaigns on to indicateto the traffic partners that they should begin to send traffic topublisher partner pages 1912 as illustrated by step 1980, which joinsdata warehouse 470 to traffic acquisition partner data exchange 1904,and by step 1960, which joins traffic acquisition partner 1904 totraffic partner 210.

Step 3: Driving Traffic

Referring now to FIG. 22 , traffic partner 210 sites then begin to drivetraffic to the publisher partner pages 1912 based on the parametersestablished during each of the campaigns as illustrated by step 1950,which joins traffic partner 210 to publisher partner pages 1912. Searchengine manager 1900 has many monitoring features that allows it to knowif any of its campaigns seem to be driving unwanted types of traffic(e.g., ineffective or too expensive).

Step 4: Monitoring Performance and Traffic Data

Referring now to FIG. 23 , once traffic is being driven to publisherpartner pages 1912 by the campaigns established previously, searchengine manager 1900 begins to gather data about the behavior of visitorsto these pages. These data are typically of several types:

1) For eCommerce and cost-per-action transactions that involve thevisitor completing the purchase of a product or some other transactiondefined by the advertiser, search engine manager 1900 may insert atracking code on confirmation pages following the transaction thatallows it to know when an eCommerce transaction has occurred. Thistracking code also allows search engine manager 1900 to know how muchrevenue has been generated by that transaction.

2) For cost-per-click and cost-per-lead transactions that involve havinga visitor click on an advertisement placed on publisher partner page1912, search engine manager 1900 may include code on the page that logsthe click on the ad in the web logs for that page. Some types ofcost-per-click advertisements, including Google's AdSense™ ads, arecontained in a frame that is populated directly by the ad partner.Search engine manager 1900 may not be able or desire to directly inserttracking code that allows it to know when one of these ads has beenclicked. In such cases, search engine manager 1900 may include code onall of the pages that allows search engine manager 1900 to track thevisitor's mouse position within the window being viewed. Search enginemanager 1900 can then deduce that when the mouse cursor is over the adframe (such as a Google AdSense™ frame) and the visitor then leaves thesite, it is highly likely that the visitor clicked on one of the ads inthat ad frame. In this way, search engine manager 1900 is able to trackor at least estimate an outbound click on these ads without inserting atracking code.

3) For cost-per-impression advertisements, search engine manager 1900may insert tracking code on the block containing the advertisement inorder to count the number of impressions received by the advertiser.

Data from all three of these transaction types are ultimatelytransferred to search engine manager's Data Warehouse 470 for use laterin the process and for reporting purposes.

FIG. 23 step 4 is represented by the following substeps:

-   -   substep 1957, which joins publisher partner pages 1912 to        shopping cart 1918,    -   substep 1954, which joins publisher partner pages 1912 to page        logging data exchange 1914,    -   substep 1958, which joins shopping cart 1918 to eCommerce        conversion data exchange 1922,    -   substep 1964, which joins page logging data exchange 1914 to        data warehouse 470, and    -   substep 1968, which joins eCommerce data exchange 1922 to data        warehouse 470.        Step 5: Collecting Traffic Cost Information

Referring now to FIG. 24 , search engine manager 1900 may thenperiodically obtain information from each traffic partner 210 on howmuch is being paid for traffic to each of the publisher partner pages1912 (in addition to other information). The data are typicallyavailable on a very granular basis, in most cases down to the particularkeyword, advertisement and landing page combination. This informationmay be later used in the process to help calculate the profitability ofeach of the publisher partner pages 1912, to optimize landing pagetemplates, to select ad partners and/or to improve ad copy. It may alsoused for reporting purposes. Step 5 is represented by substep 1990,which joins traffic partner 210 to traffic acquisition partner dataexchange 1904, and substep 1992, which joins traffic partner dataexchange 1904 to data warehouse 470.

Step 6: Collecting Revenue Information

Referring now to FIG. 25 , search engine manager 1900 may thenperiodically obtain information from each ad partner on how much revenueis being generated by visitors to publisher partner pages 1912. In somecases, this information may not be available on a particularly granularbasis. For instance, for Google AdSense™, each of the publisher partnerpages 1912 must be placed in one of 200 “channels” of data and the onlyrevenue data available from AdSense™ is aggregated at the channel level.Therefore, it may be difficult to tell exactly how much revenue is beinggenerated by each particular publisher partner page 1912 individually.Search engine manager 1900 may therefore use the traffic and performancedata collected in Step 4 of this process. Search engine manager 1900 maylook at the aggregate revenue data provided by each ad partner andcalculate an estimate of the revenue from each transaction, click,impression or other action by dividing the aggregate revenue by thenumber of transactions, clicks or impressions. In this way, searchengine manager 1900 can estimate the revenue per visitor for each of thepublisher partner pages. Further, because the traffic and performancedata collected in step 4 may be granular enough to indicate whatkeyword, ad copy and landing page drove the visit, search engine manager1900 can calculate estimated revenue for each keyword, ad copy, landingpage combination. Step 6 is represented by substep 1982, which connectsrevenue partner 212 to revenue partner data exchange 1924, and bysubstep 1970, which connects revenue partner data exchange 1924 to datawarehouse 470.

Step 7: Optimizing Reporting Channels

Referring now to FIG. 26 , one of the limitations of the extrapolationsbeing done by search engine manager 1900 in this step of the process isthat the aggregate revenue data generally covers hundreds or thousandsof publisher partner pages 1912. Therefore, revenue per visitorinformation derived for each individual page is actually influencedstrongly by the other pages contained in the same group (or “channel” inthe case of Google AdSense™). Search engine manager 1900 may overcomesthis lack of granularity of reported data by rotating one of more ofeach publisher partner pages 1912 into a separate channel periodicallyto measure its revenue per visit performance without the bias orinfluence of any other publisher partner pages 1912. This allows moreintelligent information to be gathered for that page. In addition, thatchannel may then be placed in a group or channel with other pages thathave similar revenue per visit so that the difference between the pageswith which it is aggregated, e.g. the bias, may be minimized. In asimilar fashion, channel rotation may be used to measure theeffectiveness of specific keywords, text ads, sources of traffic andeven time of day variables, and channels for each publisher partnerpages 1912 can then be selected based on these criteria as well. Step 7is represented by substep 1972, which connects data warehouse 470 tochannel optimizer 1928; by substep 1984, which connects channeloptimizer 1928 to revenue partner data exchange 1924; and by substep1994, which connects revenue partner data exchange 1924 to revenuepartner 212.

Step 8: Re-Computing and Resetting Bids

Referring now to FIG. 27 , at this point, search engine manager 1900 mayhave collected and/or calculated information on how much revenue pervisitor is being generated for each keyword, ad, landing page (KAP)combination, as well as how much is being spent to obtain a visitor foreach KAP combination. Search engine manager 1900 uses this informationto calculate a new bid for each KAP combination and may push thisinformation to each traffic partner through the APIs described above.

Search engine manager 1900 can determine an appropriate bid in one of acouple of ways. One method is to use business rules to determine theappropriate bid for each KAP combination. Some of these business rulesmay be fairly simple. For instance, one rule might specify that a 40%return on ad spending must be generated for each keyword buy, so if$0.14 is generated by a visitor to a page through a particular KAPcombination, the bid for that KAP combination may be set to $0.10because the $0.04 in profit per visitor is a 40% return on the $0.10 adspending.

A second method search engine manager 1900 may use to determine anappropriate bid for each KAP combination is to seek to maximize totalgross margin dollars by, for example, increasing the bid for a KAPcombination to the point at which the increased revenue due to highertraffic from a higher bid is offset by the higher overall costs acrossall visitors and results in lower total margin dollars. Calculating thismaximum gross margin point in the curve requires complex statisticalcalculations and significant testing on the part of search enginemanager 1900.

Step 8 is represented by substep 2000, which connects data warehouse 470to bid optimizer 1934; substep 2002, which connects bid optimizer 1934to traffic acquisition partner data exchange 1904; and substep 2004,which connects traffic acquisition partner data exchange 1904 to trafficpartner 210.

Step 9: Page Templates and Ad Partners Optimized

Referring now to FIG. 28 , in parallel with the maintenance of routinetraffic buys, search engine manager 1900 may have the capability torefine landing page templates through empirical testing. This may bedone for example through a combination of simple A/B and multivariatetesting. Likewise, search engine manager 1900 may continuously testwhich ad partners generate maximum revenues for each ad placement on thepublisher partner pages 1912. Search engine manager 1900 may integrateads from multiple ad partners and select the ad partner that is likelyto perform best in each placement on each publisher partner page bytesting multiple combinations through A/B and multivariate testing.Search engine manager 1900 may be capable of selecting different adpartners (and therefore different advertisements) based on manycriteria, each of which search engine manager 1900 may track and test.Among the criteria may be: time of day and day of week, geographicallocation of the visitor to the page and past browsing behavior ofindividual visitors. Through this process of continuous testing andimprovement, revenue per visitor may be increased and cost per visitormay be decreased (or number of visitors is increased) thereby optimizingand/or maximizing overall profitability.

Step 9 is represented by the following substeps:

-   -   substep 2006, which connects data warehouse 470 to landing page        optimizer 1908,    -   substep 2008, which connects data warehouse 470 to ad optimizer        1916,    -   substep 2010, which connects traffic partner 210 to publisher        partner pages 1912,    -   substep 2012, which connects landing page optimizer 1908 to        publisher partner pages 1912, and    -   substep 2014, which connects ad optimizer 1916 to publisher        partner pages 1912.

Search engine manager 1900 provides a closed-loop process of continuousimprovement that may optimize or maximize the profitability of buyingtraffic to web pages. This process may be applied periodically for eachweb page. Because it is a ongoing process, the process may be able toquickly adjust to changing market conditions (such as a sudden increasein the cost of buying traffic) without losing profitability. And becauseof the high level of automation of the process, search engine manager1900 may be advantageously implemented for many, if not all pages, of awebsite rather than just select landing pages as is conventionally done.In short, search engine manager 1900 is a fully automated search enginemarketing solution that can be used on every page of a website and everyarticle in a web publisher's library.

What is claimed is:
 1. A method comprising: displaying, in real-time,content to a user, wherein the content is displayed to the user in apage, wherein the content is displayed by a content serving system,wherein the content comprises at least an article, wherein the articleis a content article composed of written content, that is owned by apublisher, wherein the article is different than an advertisementlinking to an advertised page, wherein the content serving system isconfigured to display the content in the page using a template selectedfrom multiple alternative templates, each template of which comprisesdifferent design features of the page, wherein said displaying thecontent to the user comprises: identifying user-related data of the userand real-time factors, wherein the user-related data comprises a numberof clicks by the user on an element in the page over time, wherein saididentifying comprises collecting, over-time, the user-related data anddata pertaining to the real-time factors; analyzing the user-relateddata and the data pertaining to the real-time factors collected overtime, in order to determine correlations between the number of theclicks of the user, the real-time factors, and template parameters;obtaining a selection of a selected template from the multiplealternative templates, wherein the selection is determined based on theuser-related data and the real-time factors, wherein the selection isdetermined based on the correlations, wherein the selected templatedefines a modification of a content element of the article, wherein themodification comprises at least one of: a modification of a size of thecontent element of the article, a modification of a placement of thecontent element of the article, a modification of a body text attributeof the content element of the article, and a modification of a headingattribute of the content element of the article; and displaying thecontent to the user using the selected template, wherein said displayingthe content comprises adapting the design features of the page bymodifying the content element according to the selected template.
 2. Themethod of claim 1, wherein the template replaces a previous templatethat was previously used to display the content.
 3. The method of claim1, wherein the real-time factors comprise at least one of: a time ofday, a day of a week, a geographical location of the user, and a trafficreferring source.
 4. The method of claim 1, wherein the page comprises aweb page, wherein the content is displayed on the web page.
 5. Themethod of claim 1, wherein the content is displayed on a web page of acontent owner and includes the content element, wherein the contentelement is owned by an entity other than the content owner.
 6. A systembeing configured to perform: displaying, in real-time, content to auser, wherein the content is displayed to the user in a page, whereinthe content is displayed by a content serving system, wherein thecontent comprises at least an article, wherein the article is a contentarticle composed of written content, that is owned by a publisher,wherein the article is different than an advertisement linking to anadvertised page, wherein the content serving system is configured todisplay the content in the page using a template selected from multiplealternative templates, each template of which comprises different designfeatures of the page, wherein said displaying the content to the usercomprises: identifying user-related data of the user and real-timefactors, wherein the user-related data comprises a number of clicks bythe user on an element in the page over time, wherein said identifyingcomprises collecting, over-time, the user-related data and datapertaining to the real-time factors; analyzing the user-related data andthe data pertaining to the real-time factors collected over time, inorder to determine correlations between the number of the clicks of theuser, the real-time factors, and template parameters; obtaining aselection of a selected template from the multiple alternativetemplates, wherein the selection is determined based on the user-relateddata and the real-time factors, wherein the selection is determinedbased on the correlations, wherein the selected template defines amodification of a content element in the page, wherein the modificationcomprises at least one of: a modification of a size of the contentelement in the page, a modification of a placement of the contentelement in the page, a modification of a body text attribute of thecontent element in the page, and a modification of a heading attributeof the content element in the page; and displaying the content to theuser using the selected template, wherein said displaying the contentcomprises adapting the design features of the page by modifying thecontent element according to the selected template.
 7. The method ofclaim 1, wherein the content serving system is configured to obtain thearticle from a content owner, wherein the page comprises theadvertisement, wherein the advertisement is served by an ad servingsystem.
 8. The system of claim 6 further comprising the content servingsystem.
 9. The system of claim 8, wherein the template replaces aprevious template that was previously used to display the content. 10.The system of claim 8, wherein the real-time factors comprise at leastone of: a time of day, a day of a week, a geographical location of theuser, and a traffic referring source.
 11. The system of claim 8, whereinthe page comprises a web page, wherein the content is displayed on theweb page.
 12. The system of claim 8, wherein the content is displayed ona web page of a content owner and includes the content element, whereinthe content element is owned by an entity other than the content owner.13. A non-transitory computer readable storage medium retaining programinstructions, which program instructions when read by a processor, causethe processor to: display, in real-time, content to a user, wherein thecontent is displayed to the user in a page, wherein the content isdisplayed by a content serving system, wherein the content comprises atleast an article, wherein the article is a content article composed ofwritten content, that is owned by a publisher, wherein the article isdifferent than an advertisement linking to an advertised page, whereinthe content serving system is configured to display the content in thepage using a template selected from multiple alternative templates, eachtemplate of which comprises different design features of the page,wherein said display the content to the user comprises: identifyinguser-related data of the user and real-time factors, wherein theuser-related data comprises a number of clicks by the user on an elementin the page over time, wherein said identifying comprises collecting,over-time, the user-related data and data pertaining to the real-timefactors; analyzing the user-related data and the data pertaining to thereal-time factors collected over time, in order to determinecorrelations between the number of the clicks of the user, the real-timefactors, and template parameters; obtaining a selection of a selectedtemplate from the multiple alternative templates, wherein the selectionis determined based on the user-related data and the real-time factors,wherein the selection is determined based on the correlations, whereinthe selected template defines a modification of a content element in thepage, wherein the modification comprises at least one of: a modificationof a size of the content element in the page, a modification of aplacement of the content element in the page, a modification of a bodytext attribute of the content element in the page, and a modification ofa heading attribute of the content element in the page; and displayingthe content to the user using the selected template, wherein saiddisplaying the content comprises adapting the design features of thepage by modifying the content element according to the selectedtemplate.
 14. The non-transitory computer readable storage medium ofclaim 13, wherein the real-time factors comprise at least one of: a timeof day, a day of a week, a geographical location of the user, and atraffic referring source.
 15. The non-transitory computer readablestorage medium of claim 13, wherein the page comprises a web page,wherein the content is displayed on the web page.
 16. The non-transitorycomputer readable storage medium of claim 13, wherein the content isdisplayed on a web page of a content owner and includes the contentelement, wherein the content element is owned by an entity other thanthe content owner.